package org.semanticweb.HermiT;
import java.io.BufferedReader;
import java.io.CharArrayWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
public abstract class AbstractHermiTTest extends TestCase {
public AbstractHermiTTest() {
super();
}
public AbstractHermiTTest(String name) {
super(name);
}
protected Set<String> getStrings(String resourceName) throws Exception {
Set<String> strings=new HashSet<String>();
BufferedReader reader=new BufferedReader(new InputStreamReader(getClass().getResource(resourceName).openStream()));
try {
String line=reader.readLine();
while (line!=null) {
strings.add(line);
line=reader.readLine();
}
}
finally {
reader.close();
}
return strings;
}
protected String getResourceText(String resourceName) throws Exception {
if (resourceName==null)
return null;
CharArrayWriter buffer=new CharArrayWriter();
PrintWriter output=new PrintWriter(buffer);
BufferedReader reader=new BufferedReader(new InputStreamReader(getClass().getResource(resourceName).openStream()));
try {
String line=reader.readLine();
while (line!=null) {
output.println(line);
line=reader.readLine();
}
}
finally {
reader.close();
}
output.flush();
return buffer.toString();
}
@SuppressWarnings("all")
protected static <T> void assertContainsAll(Collection<T> actual,T... control) {
try {
assertEquals(control.length,actual.size());
for (int i=0;i<control.length;i++)
assertTrue(actual.contains(control[i]));
}
catch (AssertionFailedError e) {
System.out.println("Control set ("+control.length+" elements):");
System.out.println("------------------------------------------");
for (T object : control)
System.out.println(object.toString());
System.out.println("------------------------------------------");
System.out.println("Actual set ("+actual.size()+" elements):");
System.out.println("------------------------------------------");
for (Object object : actual)
System.out.println(object.toString());
System.out.println("------------------------------------------");
System.out.flush();
throw e;
}
}
}